// 借用申请页面
Page({
  /**
   * 页面的初始数据
   */
  data: {
    itemInfo: null,
    borrowStartDate: '',
    borrowEndDate: '',
    borrowReason: '',
    contactPhone: '',
    contactName: '',
    estimatedReturnDate: '',
    showDatePicker: false,
    currentDateType: '', // 'start' 或 'end'
    minDate: new Date().getTime(),
    maxDate: new Date().getTime() + 30 * 24 * 60 * 60 * 1000 // 30天后
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('借用申请页面加载', options);
    
    // 获取传递过来的物品信息
    if (options.itemId) {
      // 这里可以根据itemId从服务器获取物品详情
      // 暂时使用模拟数据
      this.setData({
        itemInfo: {
          id: options.itemId,
          name: options.itemName || '工具箱',
          description: options.itemDescription || '包含电钻、螺丝刀等常用工具',
          duration: options.itemDuration || '7天',
          owner: options.itemOwner || '张阿姨',
          location: options.itemLocation || '5号楼'
        }
      });
    }

    // 设置默认借用开始时间为明天
    const tomorrow = new Date();
    tomorrow.setDate(tomorrow.getDate() + 1);
    this.setData({
      borrowStartDate: this.formatDate(tomorrow)
    });
  },

  /**
   * 格式化日期
   */
  formatDate(date) {
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    return `${year}-${month}-${day}`;
  },

  /**
   * 显示日期选择器
   */
  showDatePicker(e) {
    const type = e.currentTarget.dataset.type;
    this.setData({
      showDatePicker: true,
      currentDateType: type
    });
  },

  /**
   * 选择日期
   */
  onDateChange(e) {
    const date = new Date(e.detail.value);
    const formattedDate = this.formatDate(date);
    
    if (this.data.currentDateType === 'start') {
      this.setData({
        borrowStartDate: formattedDate,
        showDatePicker: false
      });
    } else if (this.data.currentDateType === 'end') {
      this.setData({
        borrowEndDate: formattedDate,
        showDatePicker: false
      });
    }
  },

  /**
   * 关闭日期选择器
   */
  closeDatePicker() {
    this.setData({
      showDatePicker: false
    });
  },

  /**
   * 输入借用原因
   */
  onReasonInput(e) {
    this.setData({
      borrowReason: e.detail.value
    });
  },

  /**
   * 输入联系电话
   */
  onPhoneInput(e) {
    this.setData({
      contactPhone: e.detail.value
    });
  },

  /**
   * 输入联系人姓名
   */
  onNameInput(e) {
    this.setData({
      contactName: e.detail.value
    });
  },

  /**
   * 计算预计归还日期
   */
  calculateReturnDate() {
    if (this.data.borrowStartDate && this.data.borrowEndDate) {
      const startDate = new Date(this.data.borrowStartDate);
      const endDate = new Date(this.data.borrowEndDate);
      const diffTime = endDate - startDate;
      const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
      
      if (diffDays > 0) {
        this.setData({
          estimatedReturnDate: `${diffDays}天`
        });
      }
    }
  },

  /**
   * 提交借用申请
   */
  submitApplication() {
    const { borrowStartDate, borrowEndDate, borrowReason, contactPhone, contactName } = this.data;
    
    if (!borrowStartDate) {
      wx.showToast({
        title: '请选择借用开始时间',
        icon: 'none'
      });
      return;
    }
    
    if (!borrowEndDate) {
      wx.showToast({
        title: '请选择借用结束时间',
        icon: 'none'
      });
      return;
    }
    
    if (!borrowReason.trim()) {
      wx.showToast({
        title: '请输入借用原因',
        icon: 'none'
      });
      return;
    }
    
    if (!contactPhone.trim()) {
      wx.showToast({
        title: '请输入联系电话',
        icon: 'none'
      });
      return;
    }
    
    if (!contactName.trim()) {
      wx.showToast({
        title: '请输入联系人姓名',
        icon: 'none'
      });
      return;
    }

    // 显示提交中
    wx.showLoading({
      title: '提交申请中...'
    });

    // 模拟提交
    setTimeout(() => {
      wx.hideLoading();
      wx.showModal({
        title: '申请提交成功',
        content: '您的借用申请已提交，物主会在24小时内回复您',
        showCancel: false,
        success: () => {
          // 返回上一页
          wx.navigateBack();
        }
      });
    }, 2000);
  },

  /**
   * 联系物主
   */
  contactOwner() {
    wx.showModal({
      title: '联系物主',
      content: `拨打 ${this.data.itemInfo?.owner || '物主'} 的电话?`,
      success: (res) => {
        if (res.confirm) {
          wx.showToast({
            title: '正在拨打...',
            icon: 'success'
          });
        }
      }
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
